package com.ctsi.ssdc.admin.service;


import org.springframework.data.domain.Pageable;

import com.ctsi.ssdc.admin.domain.dto.CscpRolesCriteria;
import com.ctsi.ssdc.admin.domain.dto.CscpRolesDTO;
import com.ctsi.ssdc.model.PageResult;

/**
 * Service Interface for managing CscpRoles.
 *
 * @author ctsi biyi generator
 *
 */
public interface CscpRolesService {

    /**
     * insert a cscpRoles.
     *
     * @param cscpRolesDTO the entity to insert
     * @return the persisted entity
     */
    CscpRolesDTO insert(CscpRolesDTO cscpRolesDTO);
    
   
    /**
     * update a cscpRoles.
     *
     * @param cscpRolesDTO the entity to update
     * @return the persisted entity
     */
    CscpRolesDTO update(CscpRolesDTO cscpRolesDTO); 

    /**
     * Get all the cscpRoless.
     *
     * @return the list of entities
     */
    PageResult<CscpRolesDTO> findAll();

    /**
     * Get the  cscpRoles.
     *
     * @param id the id of the entity
     * @return the entity
     */
    CscpRolesDTO findOne(Integer id);

    /**
     * Delete the  cscpRoles.
     *
     * @param id the id of the entity
     */
    void delete(Integer id);
    
    
     /**
     * Get the cscpRoless.
     *
     * @return the list of entities
     */
    PageResult<CscpRolesDTO> findByCscpRolesDTO(CscpRolesDTO cscpRolesDTO, Pageable page);

 	/**
     * Get the cscpRoless.
     *
     * @param cscpRolesCriteria
     * @param page
     * @return
     */
	PageResult<CscpRolesDTO> findByCscpRolesCriteria(CscpRolesCriteria cscpRolesCriteria, Pageable page);

}
